# define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <assert.h>
#include <stdio.h>



//void* my_memcpy(void* dest, const void* sou, size_t num)
//{
//	assert(dest && sou);
//	char* ret = dest;
//	while (num)
//	{
//			*(char*)dest = *(char*)sou;
//			dest=(char*)dest+1;
//			sou = (char*)sou + 1;
//		num--;
//	}
//	return ret;
//}
//
//void* my_memmove(void* dest, const void* sou, size_t num)
//{
//	assert(dest && sou);
//	char* ret = dest;
//	if (dest < sou)
//	{
//		while (num--)
//		{
//			*(char*)dest = *(char*)sou;
//			dest = (char*)dest + 1;
//			sou = (char*)sou + 1;
//		}
//	}
//	else
//	{
//		while (num--)
//		{
//			*((char*)dest + num) = *((char*)sou + num);
//		}
//	}
//	return ret;
//}
//
//
//void test1()
//{
//	int  arr1[] = {1,2,3,4,5,6,7,8,9};
//	int arr2[10] = {0};
//	my_memcpy(arr2, arr1, 20);
//}
//
//
//void test2()
//{
//	int  arr1[] = { 1,2,3,4,5,6,7,8,9 };
//	my_memmove(arr1+2, arr1, 20);
//}
//
//int main()
//{
//	//test1();
//	test2();
//	return 0;
//}




//int main()
//{
//    int a = 0;
//    int b = 0;
//    int c = 0;
//    int max = 0;
//    scanf("%d", &a);
//    scanf("%d", &b);
//    scanf("%d", &c);
//    if (a > b)
//    {
//        max = a;
//        if (a > c)
//        {
//            max = a;
//        }
//        else
//        {
//            max = c;
//        }
//    }
//    else
//    {
//        max = b;
//        if (b > c)
//        {
//            max = b;
//        }
//        else
//        {
//            max = c;
//        }
//    }
//    printf("%d\n", max);
//    return 0;
//}



//int main()
//{
//    char a = 0;
//    while (scanf("%c", &a) != EOF)
//    {
//        while (getchar() != '\n');
//        if (a == 'A' || a == 'a' ||
//            a == 'E' || a == 'e' ||
//            a == 'I' || a == 'i' ||
//            a == 'O' || a == 'o' ||
//            a == 'U' || a == 'u')
//        {
//            printf("Vowel\n");
//        }
//        else
//            printf("Consonant\n");
//    }
//    return 0;
//}



//int main()
//{
//    char n = 0;
//    while (scanf("%c", &n) != EOF)
//    {
//        getchar();
//        if ('A' <= n && n <= 'Z' || 'a' <= n && n <= 'z')
//        {
//            printf("%c is an alphabet.\n", n);
//        }
//        else
//        {
//            printf("%c is not an alphabet.\n", n);
//        }
//    }
//    return 0;
//}


//#include <ctype.h>
//int main()
//{
//    char n = 0;
//    while (scanf("%c", &n) != EOF)
//    {
//        getchar();
//        if (islower(n))
//        {
//            printf("%c\n", toupper(n));
//        }
//        else
//        {
//            printf("%c\n", tolower(n));
//        }
//
//    }
//    return 0;
//}


//int main()
//{
//    int a = 0;
//    int b = 0;
//    int c = 0;
//    while (scanf("%d %d %d", &a, &b, &c) != EOF)
//    {
//        if (a + b > c && b + c > a && a + c > b)
//        {
//            if (a == b && b == c)
//            {
//                printf("Equilateral triangle!\n");
//            }
//            else if (a == b || a == c || b == c)
//            {
//                printf("Isosceles triangle!\n");
//            }
//            else
//            {
//                printf("Ordinary triangle!\n");
//            }
//        }
//        else
//        {
//            printf("Not a triangle!\n");
//        }
//    }
//    return 0;
//}


//int main()
//{
//    int w = 0;
//    int h = 0;
//    while (scanf("%d %d", &w, &h) != EOF)
//    {
//        getchar();
//        float BMI = w / (h * h / 10000.0);
//        if (BMI < 18.5)
//        {
//            printf("Underweight\n");
//        }
//        else if (BMI >= 18.5 && BMI <= 23.9)
//        {
//            printf("Normal\n");
//        }
//        else if (BMI > 23.9 && BMI <= 27.9)
//        {
//            printf("Overweight\n");
//        }
//        else
//        {
//            printf("Obese\n");
//        }
//    }
//    return 0;
//}



#include <math.h>
int main()
{
    float a = 0;
    float b = 0;
    float c = 0;
    while (scanf("%f %f %f", &a, &b, &c) != EOF)
    {
        float n = b * b - 4 * a * c;
        if (a == 0)
        {
            printf("Not quadratic equation\n");
        }
        else
        {
            float x1 = ((-b - sqrt(n)) / (2 * a));
            float x2 = ((-b + sqrt(n)) / (2 * a));
            if (n == 0)
            {
                printf("x1=x2=%.2f\n", x1 + 0);
            }
            else if (n > 0)
            {
                if (x1 > x2)
                {
                    float tmp = x1;
                    x1 = x2;
                    x2 = tmp;
                }
                printf("x1=%.2f;x2=%.2f", x1, x2);
            }
            else
            {
                float real = -b / (2 * a);
                float imag = sqrt(-n) / (2 * a);
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi", real, imag, real, imag);
            }
        }
    }
    return 0;
}